home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.orig.lzh / relay / article.h < prev    next >
C/C++ Source or Header  |  1989-06-27  |  1KB  |  32 lines

  1. /*
  2.  * All the information needed to describe an article as it is processed.
  3.  */
  4.  
  5. #define MINSHPTRS 30        /* initial value for sh_alloced */
  6.  
  7. struct article {
  8.     statust a_status;    /* article status bits */
  9.     struct headers h;    /* strictly from headers in input: */
  10.     char *a_haccum;        /* accumulated output headers, if any */
  11.     char *a_hnext;        /* -> first free byte in a_haccum */
  12.     short a_hpalloced;    /* indices in a_hptrs */
  13.     short a_hpused;        /* indices currently in use */
  14.     char **a_hptrs;        /* -> array of ptrs to lines in a_haccum */
  15.     unsigned a_hbytesleft;    /* in a_haccum */
  16.     char *a_files;        /* filenames for history, added in filing, from h.h_ngs */
  17.     char *a_tmpf;        /* temp link name or first spool dir link */
  18.     FILE *a_artf;        /* stream corresponding to a_tmpf */
  19.     boolean a_unlink;    /* true iff a_tmpf should be unlinked when done */
  20.     boolean a_filed;    /* true iff article has been filed */
  21.     boolean a_xref;        /* true iff Xref: header generated yet */
  22.     boolean a_blvmax;    /* true iff a_unread is to be believed */
  23.     long a_charswritten;    /* into spool directory, for batcher */
  24.     long a_unread;        /* bytes of article input yet unread */
  25. };
  26.  
  27. /* return name of at least one link, for printing in error messages, etc. */
  28. #define spoolnm(art) ((art)->a_unlink? (art)->a_tmpf: (art)->a_files)
  29.  
  30. /* imports from article.c */
  31. extern void artinit(), artfree();
  32.